package com.cs.paoyer.administration.web.action;

import com.cs.beneficios.business.entity.ReporteTotalProgramasDAO;
import com.cs.beneficios.common.ConnectionFactory;
import com.cs.paoyer.administration.business.AdministrationMngr;
import com.cs.paoyer.administration.business.model.UserGroupVO;
import com.cs.paoyer.administration.business.model.UserVO;

import java.io.IOException;

import java.sql.SQLException;

import java.util.Collection;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class ReporteUsuariosAction extends Action {
    /**This is the main action called from the Struts framework.
     * @param mapping The ActionMapping used to select this instance.
     * @param form The optional ActionForm bean for this request.
     * @param request The HTTP Request we are processing.
     * @param response The HTTP Response we are processing.
     */
    public ActionForward execute(ActionMapping mapping, ActionForm form, 
                                 HttpServletRequest request, 
                                 HttpServletResponse response) throws IOException, 
                                                                      ServletException {
        ConnectionFactory cf = new ConnectionFactory();
        ReporteTotalProgramasDAO  objProg;
        Collection areas=null;
        HttpSession session = request.getSession();
        
         try{
          objProg = new ReporteTotalProgramasDAO(cf);
          areas = objProg.GetSecretarias();
          cf.closeConnection(objProg.getConn());
        }catch(SQLException e){
			System.err.println("/******** TDSUB - cwsub");
			e.printStackTrace();
			System.err.println("TDSUB - cwsub ********/");
        }
        if(areas.size() > 0){
         request.setAttribute("areas",areas);
          
        }
            AdministrationMngr delegate = new AdministrationMngr(); 
            
            UserGroupVO userGroup = new UserGroupVO();
            UserVO user1 = (UserVO)session.getAttribute("userInfo");
            request.removeAttribute("msg");
            request.setAttribute("msg","");

            userGroup.setCode(new Long(0));
            userGroup.setWebUserModif("false");
            userGroup.setName(user1.getUserGroupName());
            Collection userGroups = delegate.findUserGroupByCriterea(userGroup);
            if(userGroups!=null && userGroups.size()>0){
              request.setAttribute("userGroups",userGroups);
            } else {
              request.setAttribute("userGroups",null);
            }
            
        return mapping.findForward("success");
    }
}
